'''SEGMENTOR_CFG for DDRNet'''
SEGMENTOR_CFG = {
    'type': 'DDRNet',
    'num_classes': -1,
    'align_corners': False,
    'backend': 'nccl',
    'benchmark': True,
    'norm_cfg': {'type': 'SyncBatchNorm'},
    'act_cfg': {'type': 'ReLU', 'inplace': True},
    'backbone': {
        'type': 'DDRNet', 'structure_type':''
    },
    'head': {
        'in_channels': 256, 'feats_channels': 128, 'dropout_ratio': 0, 'in_index': 0, 'align_corners':False
    },
    'auxiliary': [{
        'type':'DDRAUCHead','in_channels': 128,'feats_channels':128,'dropout_ratio':0,'in_index':1,'align_corners':False,
    },
    ],
    'losses': {
        'loss_cls': {'type': 'CrossEntropyLoss', 'scale_factor': 1.0, 'ignore_index': 255, 'reduction': 'mean'},
        'DDRAUCHead': {'type': 'CrossEntropyLoss', 'scale_factor': 0.4, 'ignore_index': 255, 'reduction': 'mean'},
    },
    'inference': {
        'mode': 'whole',
        'opts': {},
        'tricks': {
            'multiscale': [1], 'flip': False, 'use_probs_before_resize': False,
        }
    },
    'scheduler': {
        'type': 'PolyScheduler', 'max_epochs': 0, 'power': 0.9,
        'optimizer': {
            'type': 'SGD', 'lr': 0.01, 'momentum': 0.9, 'weight_decay': 5e-4, 'params_rules': {},
        }
    },
    'dataset': None,
    'dataloader': None,
}
